﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using WBGModel;
using System.Data;

namespace WBGDal
{
    public class DalTaxaDesconto : ICRUD
    {
        public List<ModelTaxaDesconto> Listar()
        {
            return Listar("");
        }

        public List<ModelTaxaDesconto> Listar(string filtro)
        {
            String cmd = "SELECT * FROM TaxaDesconto" + (filtro.CompareTo("") == 0 ? "" : " WHERE " + filtro);
            return ConvertToList(UtilBanco.ExecComRetorno(cmd));
        }

        private List<ModelTaxaDesconto> ConvertToList(DataTable resultSet)
        {
            List<ModelTaxaDesconto> lst = new List<ModelTaxaDesconto>();
            for (int i = 0; i < resultSet.Rows.Count; i++)
            {
                DataRow dr = resultSet.Rows[i];
                ModelTaxaDesconto taxaDesconto = new ModelTaxaDesconto();
                taxaDesconto.id = Convert.ToInt32(dr["id"]);
                taxaDesconto.nome = dr["nome"].ToString();
                taxaDesconto.desconto = Convert.ToBoolean(dr["desconto"]);
                taxaDesconto.modoCalculo = Convert.ToBoolean(dr["modoCalculo"]);
                taxaDesconto.valor = Convert.ToDecimal(dr["valor"]);
                lst.Add(taxaDesconto);
            }
            return lst;
        }
        public void Inserir(ModelTaxaDesconto obj)
        {
            String cmd = String.Format("INSERT INTO TaxaDesconto (nome,desconto,modoCalculo,valor) VALUES ('{0}','{1}','{2}',{3})", obj.nome, obj.desconto, obj.modoCalculo, obj.valor.ToString().Replace(",","."));
            UtilBanco.ExecSemRetorno(cmd);
        }

        public void Alterar(ModelTaxaDesconto obj)
        {
            String cmd = String.Format("UPDATE TaxaDesconto SET nome='{0}',desconto='{1}',modoCalculo='{2}',valor={3} WHERE id={4}", obj.nome, obj.desconto, obj.modoCalculo, obj.valor.ToString().Replace(",", "."), obj.id);
            UtilBanco.ExecSemRetorno(cmd);
        }

        public void Deletar(int id)
        {
            String cmd = String.Format("DELETE FROM TaxaDesconto WHERE id={0}", id);
            UtilBanco.ExecSemRetorno(cmd);
        }
    }
}
